2.16 添加列的应用,求行总分?
import pandas as pd
path = r "D:\Pyobject2023\object\测试\测试素材.xlsx"
df = pd.read_excel(path)
print (df)
返回:
姓名 | 年龄 | 考试日期 | 数学 | 语文 | 英语 | |
---|---|---|---|---|---|---|
0 | 小明 | 25 | 2021-04-14 | 85.5 | 67 | 84 |
1 | 小张 | 36 | 2021-03-15 | 89.0 | 100 | 34 |
2 | 小王 | 47 | 2020-09-19 | 95.0 | 55 | 27 |
3 | 小李 | 21 | 2019-10-25 | 88.5 | 95 | 99 |
4 | 小四 | 29 | 2019-08-18 | 99.0 | 43 | 73 |
5 | 小管 | 33 | 2021-02-14 | 100.0 | 66 | 65 |
import pandas as pd
path = r "D:\Pyobject2023\object\测试\测试素材.xlsx"
df = pd.read_excel(path)
df[ "总分" ]=df.语文+df.英语+df.数学
print (df)
返回:
姓名 | 年龄 | 考试日期 | 数学 | 语文 | 英语 | 总分 | |
---|---|---|---|---|---|---|---|
0 | 小明 | 25 | 2021-04-14 | 85.5 | 67 | 84.0 | 236.5 |
1 | 小张 | 36 | 2021-03-15 | 89.0 | 100 | 34.0 | 223.0 |
2 | 小王 | 47 | 2020-09-19 | 95.0 | 55 | NaN | NaN |
3 | 小李 | 21 | 2019-10-25 | 88.5 | 95 | 99.0 | 282.5 |
4 | 小四 | 29 | 2019-08-18 | 99.0 | 43 | 73.0 | 215.0 |
5 | 小管 | 33 | 2021-02-14 | 100.0 | 66 | 65.0 | 231.0 |
上面与下面的结果是一样的,但是前一种是写死的用法,后一种是可以用变更
import pandas as pd
path = r "D:\Pyobject2023\object\测试\测试素材.xlsx"
df = pd.read_excel(path)
df[ "总分" ]=df[ "语文" ]+df[ "英语" ]+df[ "数学" ]
print (df)
返回:
姓名 | 年龄 | 考试日期 | 数学 | 语文 | 英语 | 总分 | |
---|---|---|---|---|---|---|---|
0 | 小明 | 25 | 2021-04-14 | 85.5 | 67 | 84.0 | 236.5 |
1 | 小张 | 36 | 2021-03-15 | 89.0 | 100 | 34.0 | 223.0 |
2 | 小王 | 47 | 2020-09-19 | 95.0 | 55 | NaN | NaN |
3 | 小李 | 21 | 2019-10-25 | 88.5 | 95 | 99.0 | 282.5 |
4 | 小四 | 29 | 2019-08-18 | 99.0 | 43 | 73.0 | 215.0 |
5 | 小管 | 33 | 2021-02-14 | 100.0 | 66 | 65.0 | 231.0 |
有缺失值的处理:
import pandas as pd,numpy as np
path = r "D:\Pyobject2023\object\测试\测试素材.xlsx"
df = pd.read_excel(path)
arr=np.array(df[ "英语" ]) # 指定有缺失值的列,并把其变成一维数组
arr[np.isnan(arr)]=0 # 判定指定一维数组有缺失值的元素,并赋值为0
df[ "英语" ]=arr # 将英语一列的值再写回DateFrame
df[ "总分" ]=df[ "语文" ]+df[ "英语" ]+df[ "数学" ]
print (df)
返回:
姓名 | 年龄 | 考试日期 | 数学 | 语文 | 英语 | 总分 | |
---|---|---|---|---|---|---|---|
0 | 小明 | 25 | 2021-04-14 | 85.5 | 67 | 84.0 | 236.5 |
1 | 小张 | 36 | 2021-03-15 | 89.0 | 100 | 34.0 | 223.0 |
2 | 小王 | 47 | 2020-09-19 | 95.0 | 55 | 0.0 | 150.0 |
3 | 小李 | 21 | 2019-10-25 | 88.5 | 95 | 99.0 | 282.5 |
4 | 小四 | 29 | 2019-08-18 | 99.0 | 43 | 73.0 | 215.0 |
5 | 小管 | 33 | 2021-02-14 | 100.0 | 66 | 65.0 | 231.0 |